CSSãµãã°ãªããã®åãæŽ»çšããŠãé«åºŠãªã°ãªããç¶æ¿ã«ããè€éãªå€æ¬¡å ã¬ã€ã¢ãŠããäœæããŸããããã¬ã¹ãã³ã·ããã¶ã€ã³ã®é«åºŠãªãã¯ããã¯ãšãã¹ããã©ã¯ãã£ã¹ãç¿åŸããŸãã
CSSãµãã°ãªãã倿¬¡å ïŒè€éãªã°ãªããã®ç¶æ¿ãè§£ãæŸã€
CSSã°ãªããã¬ã€ã¢ãŠãã¯ãŠã§ããã¶ã€ã³ã«é©åœããããããããŒãžæ§é ãæ¯é¡ã®ãªãã»ã©å¶åŸ¡ã§ããããã«ãªããŸãããããããã¬ã€ã¢ãŠããè€éã«ãªãã«ã€ããŠãããé«åºŠãªãã¯ããã¯ãå¿ èŠã«ãªããŸããããã§ç»å Žããã®ãCSSãµãã°ãªããã§ããããã¯ãã°ãªããã¢ã€ãã ã芪ã°ãªããã®ãã©ãã¯å®çŸ©ãç¶æ¿ã§ããããã«ããããšã§ãã°ãªããã¬ã€ã¢ãŠãã匷åãã匷åãªæ©èœã§ããããã«ãããèŠçŽ ãå šäœçãªã°ãªããæ§é ãšã®é 眮ãç¶æããªãããè¡ãšåã«ãŸãããçã«å€æ¬¡å ã®ã¬ã€ã¢ãŠãã®å¯èœæ§ãéãããŸãã
CSSã°ãªããã¬ã€ã¢ãŠãã®çè§£ïŒç°¡åãªåŸ©ç¿
ãµãã°ãªããã«å ¥ãåã«ãCSSã°ãªããã¬ã€ã¢ãŠãã®ã³ã¢ã³ã³ã»ãããç°¡åã«ç¢ºèªããŸãããã
- ã°ãªããã³ã³ããïŒ
display: gridãŸãã¯display: inline-gridã䜿çšããŠã°ãªããã³ã³ããã¹ãã確ç«ãã芪èŠçŽ ã - ã°ãªããã¢ã€ãã ïŒã°ãªããå ã«é 眮ãããã°ãªããã³ã³ããã®çŽæ¥ã®åã
- ã°ãªãããã©ãã¯ïŒ
grid-template-rowsãgrid-template-columnsã®ãããªããããã£ã«ãã£ãŠå®çŸ©ãããã°ãªããã®è¡ãšåããããã¯è¡ãšåã®ãµã€ãºãšæ°ãå®çŸ©ããŸãã - ã°ãªããç·ïŒã°ãªãããã©ãã¯ãåºåãæ°Žå¹³ç·ãšåçŽç·ããããã«ã¯1ããå§ãŸãçªå·ãä»ããããŠããŸãã
- ã°ãªãããšãªã¢ïŒ
grid-template-areasã«ãã£ãŠå®çŸ©ãããã°ãªããå ã®ååä»ãé åã
ãããã®åºç€ãæŽã£ãã®ã§ãCSSãµãã°ãªããã®è€éããšå©ç¹ãæ¢ãããšãã§ããŸãã
CSSãµãã°ãªããã®ç޹ä»ïŒã°ãªãããã©ãã¯ã®ç¶æ¿
ãµãã°ãªããã䜿çšãããšãã°ãªããã¢ã€ãã èªäœãã°ãªããã³ã³ããã«ãªãã芪ã°ãªããããè¡ããã³/ãŸãã¯åãã©ãã¯ãç¶æ¿ã§ããŸããããã¯ããµãã°ãªããã芪ã°ãªããã®ç·ã«ã³ã³ãã³ããåãããããšãã§ããããšãæå³ããç¹ã«èŠªã°ãªããå ã®è€æ°ã®è¡ãŸãã¯åã«ãŸãããèŠçŽ ãæ±ãå Žåã«ããŸãšãŸãã®ããèŠèŠçã«é åçãªã¬ã€ã¢ãŠããäœæããŸãã
ãµãã°ãªãããæå¹ã«ããããã®ããŒãšãªãããããã£ã¯ãgrid-template-rows: subgridããã³/ãŸãã¯grid-template-columns: subgridã§ãããããã®ããããã£ãã°ãªããã¢ã€ãã ã«é©çšããããšããã©ãŠã¶ã«èŠªã°ãªãããã察å¿ãããã©ãã¯ã䜿çšããããã«æç€ºããŸãã
åºæ¬çãªãµãã°ãªããã®å®è£
ç°¡åãªäŸãèããŠã¿ãŸãããã
.grid-container {
display: grid;
grid-template-columns: 1fr 2fr 1fr;
grid-template-rows: auto auto auto;
}
.grid-item {
/* ã°ãªããã¢ã€ãã ã®ã¹ã¿ã€ã« */
}
.subgrid-item {
display: grid;
grid-template-columns: subgrid;
}
ãã®äŸã§ã¯ã.grid-containerã¯3ã€ã®åãš3ã€ã®è¡ãæã€ã¡ã€ã³ã®ã°ãªããæ§é ãå®çŸ©ããŸãã.subgrid-itemã¯ãåã«ãµãã°ãªããã䜿çšããããã«æ§æãããŠãã.grid-containerå
ã®ã°ãªããã¢ã€ãã ã§ããã€ãŸãã.subgrid-itemå
ã®åã¯ã.grid-containerã®åãšå®å
šã«äžèŽããŸãã
ãµãã°ãªããã䜿çšãã倿¬¡å ã¬ã€ã¢ãŠã
ãµãã°ãªããã®çã®åã¯ã倿¬¡å ã¬ã€ã¢ãŠããäœæãããšãã«çŸããŸãããããã®ã¬ã€ã¢ãŠãã«ã¯ãèŠçŽ ãè€æ°ã®è¡ãšåã«ãŸããããã¹ããããã°ãªãããå«ãŸããé 眮ãéèŠã«ãªããŸãã
äŸïŒè€éãªè£œåã«ãŒã
ç»åãã¿ã€ãã«ã説æãããã³ããã€ãã®è¿œå æ å ±ã衚瀺ããå¿ èŠããã補åã«ãŒããæ³åããŠãã ãããã¬ã€ã¢ãŠãã¯æè»ã§ã¬ã¹ãã³ã·ãã§ããå¿ èŠããããããŸããŸãªç»é¢ãµã€ãºã«é©å¿ããŸãã
.product-card {
display: grid;
grid-template-columns: 1fr 2fr;
grid-template-rows: auto auto auto;
gap: 10px;
}
.product-image {
grid-row: 1 / span 2;
}
.product-details {
display: grid;
grid-template-columns: subgrid;
grid-template-rows: auto auto;
}
.product-title {
/* ã¿ã€ãã«ã®ã¹ã¿ã€ã« */
}
.product-description {
/* 説æã®ã¹ã¿ã€ã« */
}
.additional-info {
grid-column: 1 / -1; /* 補åã«ãŒãå
ã®ãã¹ãŠã®åã«ãŸããã */
}
ãã®äŸã§ã¯ïŒ
.product-cardã¯ã¡ã€ã³ã®ã°ãªããã³ã³ããã§ãã.product-imageã¯æåã®2è¡ã«ãŸããã£ãŠããŸãã.product-detailsã¯ã.product-cardããåãã©ãã¯ãç¶æ¿ãããµãã°ãªããã§ããããã®ã³ã³ãã³ããã¡ã€ã³ã°ãªããã®åãšç¢ºå®ã«æŽåããããã«ããŸãã.additional-infoã¯è£œåã«ãŒãã®ãã¹ãŠã®åã«ãŸããããç»åãšè©³çްã®äžã«è¿œå æ å ±ã远å ããŸãã
ãã®æ§é ã¯ã補åã«ãŒãã®ããã®æè»ã§ä¿å®å¯èœãªã¬ã€ã¢ãŠããæäŸããŸãããµãã°ãªããã¯ã.product-detailså
ã®ã¿ã€ãã«ãšèª¬æãã¡ã€ã³ã°ãªããã®åæ§é ãšå®å
šã«æŽåããŠããããšãä¿èšŒããŸãã
äŸïŒè€éãªããŒãã«ã¬ã€ã¢ãŠã
çµåãããã»ã«ãæã€ããŒãã«ã¯ãã¬ã€ã¢ãŠãã®æªå€¢ã«ãªãå¯èœæ§ããããŸãããµãã°ãªããã¯ãããéåžžã«ç°¡çŽ åããŸãã
.table-container {
display: grid;
grid-template-columns: repeat(5, 1fr);
grid-template-rows: auto auto auto;
}
.header-cell {
grid-column: span 2; /* äŸïŒ2ã€ã®åã«ãŸãããã»ã« */
}
.subgrid-row {
display: grid;
grid-template-columns: subgrid;
}
.data-cell {
/* ããŒã¿ã»ã«ã®ã¹ã¿ã€ã« */
}
ããã§ã.table-containerã¯ããŒãã«å
šäœã®ã°ãªãããå®çŸ©ããŸããheader-cellèŠçŽ ã¯è€æ°ã®åã«ãŸãããããšããããŸããsubgrid-rowã¯ãµãã°ãªããã䜿çšããŠãheader-cellã®ã¹ãã³ã«é¢ä¿ãªãããã¹ãŠã®data-cellèŠçŽ ã芪ã°ãªããã§å®çŸ©ãããåãšæ£ããæŽåããããã«ããŸãã
CSSãµãã°ãªããã䜿çšããå©ç¹
- æ¹åãããã¬ã€ã¢ãŠãå¶åŸ¡ïŒãµãã°ãªããã¯ãç¹ã«è€éãªã¬ã€ã¢ãŠãã«ãããŠãèŠçŽ ã®é 眮ãšé 眮ããã现ããå¶åŸ¡ã§ããŸãã
- ç°¡ç¥åãããã³ãŒãïŒè€éãªèšç®ãæå調æŽã®å¿ èŠæ§ãæžããããã¯ãªãŒã³ã§ä¿å®ããããã³ãŒãã«ãªããŸãã
- 匷åãããã¬ã¹ãã³ã·ãïŒãµãã°ãªããã¯ãããŸããŸãªç»é¢ãµã€ãºã«ã·ãŒã ã¬ã¹ã«é©å¿ãããããæè»ã§ã¬ã¹ãã³ã·ããªãã¶ã€ã³ãå¯èœã«ããŸãã
- åªããäžè²«æ§ïŒãŠã§ããµã€ãã®ããŸããŸãªã»ã¯ã·ã§ã³ã§ãå šäœçãªã°ãªããæ§é ãšã®é 眮ãç¶æããããšã«ãããèŠèŠçãªäžè²«æ§ã確ä¿ããŸãã
- åªããä¿å®æ§ïŒèŠªã°ãªãããžã®å€æŽã¯èªåçã«ãµãã°ãªããã«äŒæãããã¬ã€ã¢ãŠãã®èª¿æŽãç°¡çŽ åããããšã©ãŒã®ãªã¹ã¯ã軜æžãããŸãã
ãã©ãŠã¶ã®äºææ§
CSSãµãã°ãªããã®ãã©ãŠã¶ãµããŒãã¯ãChromeãFirefoxãSafariãEdgeãªã©ã®ææ°ã®ãã©ãŠã¶ã§åºãå©çšã§ããããã«ãªããŸããããã ããã¿ãŒã²ãããªãŒãã£ãšã³ã¹ãé©åãªãã©ãŠã¶ãµããŒããåããŠããããšã確èªããããã«ãCan I useã®ãããªãŠã§ããµã€ãã§çŸåšã®ãã©ãŠã¶ã®äºææ§ããŒãã«ã確èªããããšãäžå¯æ¬ ã§ãã
ãµãã°ãªããããµããŒãããŠããªãå€ããã©ãŠã¶ã®å Žåã¯ã次ã®ãããªãã©ãŒã«ããã¯æŠç¥ã®äœ¿çšãæ€èšããŠãã ããã
- ãµãã°ãªããã®ãªãCSSã°ãªããïŒæšæºã®CSSã°ãªããæ©èœã䜿çšããŠã¬ã€ã¢ãŠããè€è£œããŸããæå調æŽãå¿ èŠã«ãªãå¯èœæ§ããããŸãã
- FlexboxïŒããåçŽãªã¬ã€ã¢ãŠãã®ãã©ãŒã«ããã¯ãšããŠFlexboxã䜿çšããŸãã
- æ©èœã¯ãšãªïŒ
@supportsã䜿çšããŠãµãã°ãªããã®ãµããŒããæ€åºããããã«å¿ããŠç°ãªãã¹ã¿ã€ã«ãé©çšããŸãã
CSSãµãã°ãªããã䜿çšããããã®ãã¹ããã©ã¯ãã£ã¹
- ã°ãªããæ§é ãèšç»ããïŒãµãã°ãªãããå®è£ ããåã«ãã°ãªããæ§é ãæ³šææ·±ãèšç»ãããµãã°ãªãããæãæçã«ãªãå¯èœæ§ã®ããé åãç¹å®ããŸãã
- æå³ã®ããã¯ã©ã¹åã䜿çšããïŒã³ãŒãã®å¯èªæ§ãšä¿å®æ§ãåäžãããããã«ãèšè¿°çãªã¯ã©ã¹åã䜿çšããŸãã
- éå°ãªãã¹ããé¿ããïŒãµãã°ãªããã¯ãã¹ããããã°ãªãããå¯èœã«ããŸãããã¬ã€ã¢ãŠãã®ç®¡çãé£ãããªãå¯èœæ§ããããããéå°ãªãã¹ãã¯é¿ããŠãã ããã
- 培åºçã«ãã¹ãããïŒã¬ã€ã¢ãŠããæ£ããã¬ã¹ãã³ã·ãã«ã¬ã³ããªã³ã°ãããããšã確èªããããã«ãããŸããŸãªãã©ãŠã¶ããã³ããã€ã¹ã§ã¬ã€ã¢ãŠãããã¹ãããŸãã
- ãã©ãŒã«ããã¯ãæäŸããïŒãµãã°ãªããããµããŒãããŠããªãå€ããã©ãŠã¶çšã®ãã©ãŒã«ããã¯æŠç¥ãå®è£ ããŸãã
- ã¢ã¯ã»ã·ããªãã£ãèæ ®ããïŒã¬ã€ã¢ãŠããé害ã®ãããŠãŒã¶ãŒã«ã¢ã¯ã»ã¹ã§ããããšã確èªããŸããã»ãã³ãã£ãã¯HTMLã䜿çšããç»åã®ä»£æ¿ããã¹ããæäŸããŸãã
- ããã©ãŒãã³ã¹ãæé©åããïŒã°ãªããã¢ã€ãã ã®æ°ãæå°éã«æããè€éãªèšç®ãé¿ããŠãæé©ãªããã©ãŒãã³ã¹ã確ä¿ããŸãã
é«åºŠãªãµãã°ãªãããã¯ããã¯
ãµãã°ãªããå ã®ã¹ãã³ã®ãã©ãã¯
éåžžã®ã°ãªããã¬ã€ã¢ãŠããšåæ§ã«ãgrid-column: span XãŸãã¯grid-row: span Yã䜿çšããŠãã¢ã€ãã ããµãã°ãªããå
ã®è€æ°ã®ãã©ãã¯ã«ã¹ãã³ãããããšãã§ããŸãã
.subgrid-item {
display: grid;
grid-template-columns: subgrid;
}
.spanning-item {
grid-column: span 2;
}
ããã«ããã.spanning-itemã¯ãµãã°ãªããå
ã®2ã€ã®åãã©ãã¯ãå æããŸãã
ååä»ãã°ãªããç·ã®äœ¿çš
芪ã°ãªããã§ååä»ãã°ãªããç·ã䜿çšãããµãã°ãªããã§ããããåç §ã§ããŸããããã«ãããã³ãŒããããèªã¿ããããä¿å®ã容æã«ãªããŸãã
.grid-container {
display: grid;
grid-template-columns: [start] 1fr [content-start] 2fr [content-end] 1fr [end];
}
.subgrid-item {
display: grid;
grid-template-columns: subgrid;
}
.positioned-item {
grid-column: content-start / content-end;
}
ãã®äŸã§ã¯ã.positioned-itemã¯content-startããã³content-endãšããååã®ã°ãªããç·ã®éã«é
眮ãããŸãã
ãµãã°ãªãããšèªåé 眮ã®çµã¿åãã
grid-auto-flowããããã£ãšãµãã°ãªãããçµã¿åãããŠããµãã°ãªããå
ã®ã¢ã€ãã ã®èªåé
çœ®æ¹æ³ãå¶åŸ¡ã§ããŸãã
.subgrid-item {
display: grid;
grid-template-columns: subgrid;
grid-auto-flow: row dense;
}
ããã«ããããã©ãŠã¶ã¯ã®ã£ãããåããŠãããã³ã³ãã¯ããªã¬ã€ã¢ãŠããäœæãããµãã°ãªããã«ã¢ã€ãã ãèªåçã«é 眮ããŸãã
ãµãã°ãªããã®å®éã®äŸ
ããã·ã¥ããŒãã¬ã€ã¢ãŠã
ããã·ã¥ããŒãã«ã¯ãå€ãã®å Žåãè€æ°ã®ã»ã¯ã·ã§ã³ãšã³ã³ããŒãã³ããå«ãè€éãªã¬ã€ã¢ãŠããå¿ èŠã§ãããµãã°ãªããã䜿çšãããšãããã·ã¥ããŒãå šäœã®æŽåæ§ã®ããã¬ã¹ãã³ã·ãã°ãªããæ§é ãäœæãããã¹ãŠã®èŠçŽ ãé©åã«æŽåããããã«ããããšãã§ããŸãã
ããšãã°ããµã€ãããŒãã¡ã€ã³ã³ã³ãã³ããšãªã¢ãããã³ããã¿ãŒãå«ãããã·ã¥ããŒãã«ã€ããŠèããŠã¿ãŸãããµãã°ãªããã䜿çšãããšããããã®åã»ã¯ã·ã§ã³å ã®ã³ã³ãã³ããããã·ã¥ããŒãå šäœã®ã°ãªããæ§é ãšæŽåãããããšãã§ããŸãã
éèªã®ã¬ã€ã¢ãŠã
éèªã®ã¬ã€ã¢ãŠãã«ã¯éåžžãç»åãããã¹ããããã³èŠèŠçã«é åçãªæ¹æ³ã§é 眮ããããã®ä»ã®èŠçŽ ãå«ãè€éãªãã¶ã€ã³ãå«ãŸããŸãããµãã°ãªããã䜿çšãããšãéèªã®ã¬ã€ã¢ãŠãã®æè»ã§ã¬ã¹ãã³ã·ããªã°ãªããæ§é ãäœæããåçãªã³ã³ãã³ãã®é 眮ãšé 眮ãå¯èœã«ããããšãã§ããŸãã
ã¡ã€ã³ã®èšäºããµã€ãããŒãããã³åºåãå«ãéèªã®ã¬ã€ã¢ãŠããæ³åããŠãã ããããµãã°ãªããã䜿çšãããšããããã®åã»ã¯ã·ã§ã³å ã®ã³ã³ãã³ããéèªå šäœã®ã°ãªããæ§é ãšæŽåãããããšãã§ããŸãã
Eã³ããŒã¹è£œåãªã¹ã
Eã³ããŒã¹ã®ãŠã§ããµã€ãã§ã¯ã補åãªã¹ããã°ãªãã圢åŒã§è¡šç€ºããããšããããããŸãããµãã°ãªããã䜿çšãããšã補åãªã¹ãã®äžè²«æ§ã®ããã¬ã¹ãã³ã·ãã°ãªããæ§é ãäœæãããã¹ãŠã®è£œåã«ãŒããé©åã«æŽåããããŸããŸãªç»é¢ãµã€ãºã«é©å¿ããããã«ããããšãã§ããŸãã
ç»åãã¿ã€ãã«ã説æãããã³äŸ¡æ Œãå«ãè€æ°ã®è£œåã«ãŒããå«ã補åãªã¹ãããŒãžãæ€èšããŠãã ããããµãã°ãªããã䜿çšãããšãå補åã«ãŒãå ã®èŠçŽ ã補åãªã¹ãããŒãžã®å šäœçãªã°ãªããæ§é ãšæŽåãããããšãã§ããŸãã
CSSã°ãªãããšãµãã°ãªããã®æªæ¥
CSSã°ãªããã¬ã€ã¢ãŠããšãµãã°ãªããã¯åžžã«é²åããŠãããæ°ããæ©èœãšæ¹åã宿çã«è¿œå ãããŠããŸãããã©ãŠã¶ã®ãµããŒããåäžãç¶ããã«ã€ããŠããããã®ãã¯ãããžãŒã¯ææ°ã®ã¬ã¹ãã³ã·ããŠã§ãã¬ã€ã¢ãŠããäœæããããã«ããã«äžå¯æ¬ ã«ãªããŸãã
CSSã°ãªãããšãµãã°ãªããã®æªæ¥ã«ã¯ã次ã®ãã®ãå«ãŸããå¯èœæ§ããããŸãã
- æ¹åãããããã©ãŒãã³ã¹ïŒã°ãªããããã³ãµãã°ãªããã¬ã€ã¢ãŠãã®ã¬ã³ããªã³ã°ããã©ãŒãã³ã¹ãåäžãããããã®æé©åã
- ããé«åºŠãªæ©èœïŒã¬ã€ã¢ãŠããšé 眮ãããã«è©³çްã«å¶åŸ¡ããããã®æ°æ©èœã
- ä»ã®ãŠã§ããã¯ãããžãŒãšã®ããè¯ãçµ±åïŒãŠã§ãã³ã³ããŒãã³ããJavaScriptãã¬ãŒã ã¯ãŒã¯ãªã©ãä»ã®ãŠã§ããã¯ãããžãŒãšã®ã·ãŒã ã¬ã¹ãªçµ±åã
çµè«ïŒãµãã°ãªããã®åãåãå ¥ãã
CSSãµãã°ãªããã¯ãé«åºŠãªã°ãªããç¶æ¿ã«ããè€éãªå€æ¬¡å ã¬ã€ã¢ãŠããäœæããããã®åŒ·åãªããŒã«ã§ããã°ãªããã¬ã€ã¢ãŠãã®åºç€ãšãµãã°ãªããã®æ©èœãçè§£ããããšã§ããŠã§ããã¶ã€ã³ã®æ°ããå¯èœæ§ãè§£ãæŸã¡ãããèŠèŠçã«é åçã§ã¬ã¹ãã³ã·ããªãŠã§ããµã€ããäœæã§ããŸãã
ãµãã°ãªããã®ãã©ãŠã¶ãµããŒããåäžãç¶ããã«ã€ããŠããŠã§ãéçºè ã®ããŒã«ãããã®ãŸããŸãéèŠãªéšåã«ãªããŸãããããã£ãŠããµãã°ãªããã®åãåãå ¥ãããã®æ©èœãå®éšããŠãèŠäºã§é©æ°çãªãŠã§ãã¬ã€ã¢ãŠããäœæããŠãã ããã
å®éšãæãããCSSãµãã°ãªããã®å¯èœæ§ãæå€§éã«æ¢æ±ããŠãã ãããå¯èœæ§ã¯åºå€§ã§ãããçµæã¯æ¬åœã«å°è±¡çã§ããããããŒã³ãŒãã£ã³ã°ïŒ